using System;
using System.Collections.Generic;
using System.Text;

namespace MeshSimulation.EventManager
{
    class Event
    {
        private EventType type;

        private EventType Type
        {
            get { return type; }
        }

        private UInt64 startTime = 0;

        public UInt64 StartTime
        {
            get { return startTime; }
        }

        private int source;

        public int Source
        {
            get { return source; }
        }

        private int nextDes;

        public int NextDes
        {
            get { return nextDes; }
        }

        private int finalDest;

        public int FinalDest
        {
            get { return finalDest; }
        }

        public Event(EventType type, UInt64 start, int source, int nextDes, int finalDest)
        {
            this.type = type;
            this.startTime = start;
            this.source = source;
            this.nextDes = nextDes;
            this.finalDest = finalDest;
        }
    }

    enum EventType { StartSend, FinishSend, ScheduleEvent }
}
